home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / telecomm / zm16src.lzh / ZMDM.DOC < prev    next >
Text File  |  1988-05-22  |  28KB  |  718 lines

  1.     zmdm.doc, v1.6 ++jrb
  2.  
  3.                 ACKNOWLEDGEMENTS
  4.  
  5.     ZMDM was derived from rz/sz for Unix  posted by 
  6.     Chuck Forsberg (...!tektronix!reed!omen!caf ). We
  7.     thank him for his excellent code, and for giving
  8.     us permission to use and distribute his code and
  9.     documentation.
  10.  
  11.     The code for detecting baud rate at startup is courtesy
  12.     of Brian Katzung (katzung@laidbak.UUCP). Thanks very
  13.     much!
  14.  
  15.     Andy Nicola did a lot of testing of the new features.
  16.     Thank You very much!
  17.  
  18.     Thanks to the many users on the net who wrote in.
  19.     
  20. ----------------------------------------------------------------------------
  21.     Enhancements since V1.2: (the last Usenet  release).
  22.     
  23.         o Some cleanup, moved common things around.
  24.           Some cosmetic additions.
  25.  
  26.         o MWC 3.0 compatible. The sample MW makefiles
  27.           reflect the setup required for MWC  V 3.0.6.
  28.  
  29.         o Manx Aztec C compatible. Tested with V 3.6a
  30.           of the compiler. Produces the smallest code
  31.           of all the compilers tested. See config.h,
  32.           makefile.man and makefman.sta.
  33.  
  34.         o Auto Baud Rate detection on startup:
  35.           Previously ZMDM would set the baud rate
  36.           to a compile time configurable rate on
  37.           startup (it needed to know the baud rate
  38.           to determine its default packet size). Thanks
  39.           to code contributed by Brian Katzung, now it
  40.           detects the baud rate on startup.
  41.           Of course you can set the baud rate
  42.           within ZMDM (by hitting '<HELP>'  'b' ).
  43.  
  44.         o Compile time option to use all available memory
  45.           as recv/send buffer. See DYNABUF, LEAVEALONE and
  46.           MINACC preprocessor symbols in config.h. If you
  47.           prefer to use a fixed size buffer, this is still
  48.           possible by not #define'ing DYNABUF and setting
  49.           BBUFSIZ. MegaST OK - thanks Andy Nicola.
  50.  
  51.         o Stand Alone versions of RZ and SZ can be made
  52.           by compiling the sources with the preprocessor
  53.           symbols 'STANDALONE' #define'ed. See the makefile
  54.           'MAKEFILE.STA' for more details.
  55.           Stand Alone versions DO NOT do any command line
  56.           argument expansions for wild cards or directories
  57.           (unlike the integrated ZMDM).
  58.           Stand Alone versions tested from within Gulam,
  59.           Flash and Intersect. Thanks to Andy Nicola for
  60.           testing these features.
  61.  
  62.         o Remote versions of ZMDM, RZ and SZ can be made by
  63.           compiling the sources with the preprocessor symbol
  64.           'REMOTE' #define'ed. A remote version listens and
  65.           does all its I/O thru the serial port. Of course
  66.           it has to be fired up from console. One of our
  67.           area BBS's provides this as a D/L option, where
  68.           the BBS program execs a remote ZMDM, and one you exit
  69.           you return back to the BBS program.
  70.  
  71.             o Added -B (note: uppercase B) option to both RZ and SZ.
  72.           the -B function is a binary mode override, that disregards
  73.           the extension when deciding the transfer mode. This is
  74.           useful when say you are backing up your whole disk
  75.           to say a Unix host. (backup the exact image of the files),
  76.           or doing St-to-St type transfers.
  77.         
  78.         o Now compatible with the PD DLIB library. The
  79.           pre-processor symbol DLIBS must be defined. Only
  80.           tested with the Alcyon version of the library.
  81.  
  82.         o Added the phone module (a simple dialer with a
  83.           telephone numbers directory). This module is
  84.           only compiled in if the preprocessor symbol
  85.           'PHONES' is #define'ed. For those of you who
  86.           are familiar with XMDM, this module was directly
  87.           ripped out of there, with a small bug fix that
  88.           prevented it from running under TurboSt.ACC.
  89.  
  90.         o Long packet lengths now allowed at slower baud rates
  91.           rather than insisting on using the default as the max
  92.           packet length. For instance
  93.             sz -l 1024 files..
  94.           will now send 1024 byte packets at low baud rates (<= 2400).
  95.           The corresponding change has been made to the unix
  96.           end of the software too.
  97.  
  98.         o TurboSt.ACC note:
  99.             The high rez toggle (25/50 lines) on a
  100.         monochrome monitor will NOT work is TurboSt.ACC is
  101.         installed. The problem is on the TurboSt.ACC end. Using
  102.         the high rez toggle does'nt cause any ill-effect, it just
  103.         does not do anything.
  104.           
  105.     Enhancements since V1.0:
  106.         o (This enhancement is only present when
  107.            you compile with the pre-processor symbol
  108.            `RECURSE' defined - see the makefile's)
  109.           sz now takes a  directory as an argument.
  110.           If the name of a directory is given as an
  111.           argument, then the contents of that directory
  112.           and all its subdirectories are sent. A new
  113.           option to sz is '-P <dir or file>'
  114.           (capital 'P' not 'p'), that
  115.           'prunes' the expansion of a directory. For
  116.           example if you wanted to send all the files
  117.           in the 'C' partition of your hard disk, except
  118.           the 'tmp', 'usr' and 'foo\bar' subdirectories, you would
  119.           issue the following command in the transfer
  120.           shell:
  121.  
  122.              sz -f -P c:\tmp -P c:\usr -P c:\foo\bar c:\
  123.  
  124.           Notice that you may specify multiple -P 'rune
  125.           options. The argument to the -P option may also be
  126.           the name of a file that you want to prune off.
  127.           Also note that to send full path names
  128.           to the remote end, the '-f' option is required,
  129.           otherwise the remote end will create all the
  130.           files in its current working directory. (Also
  131.           see CWRU extension to Unix 'rz', where 'rz' when
  132.           receiving full path names (ie. when you specify the
  133.           '-f' option to sz on the ST end) will create all
  134.           subdirectories required to receive the file). The
  135.           ST 'rz' always creates all subdirectories required
  136.           to receive a path when the other end is sz'ing with
  137.           the '-f' option. Also note that in both the rz's
  138.           all subdirectories are created relative to the 
  139.           current working directory, even though the path may
  140.           specify an absolute path.
  141.  
  142.             o File name mapping is slightly changed from V1.0.
  143.           When receiving a filename that has multiple '.'s
  144.           all but the last '.' is replace with an '_'. So
  145.           'foo.bar.ext' becomes 'foo_bar.ext'. Similarly
  146.           '123.456.789\aaa.bbb.ccc' becomes '123_456.789\aaa_bbb.ccc'.
  147.           As in V1.0, the filename and extension (of each
  148.           component of a path name) are truncated to 8 and 3
  149.           characters respectively. So '123.456789.ext\foobarbaz'
  150.           becomes '123_4567.ext\foobarba'. Also note that
  151.           while sending, '\'s are sent as '/'s. The ST drive
  152.           specifier part of a path name is never sent.
  153.           So 'c:\file.ext' is sent as '/file.ext' (remember:
  154.           that full pathnames are only sent when the '-f'
  155.           option is specified to 'sz').
  156.  
  157.         o Many bug fixes since V1.0!
  158.  
  159. ----------------------------------------------------------------------------
  160.  
  161.  
  162.     Zmdm consists of two main components:
  163.         o The terminal emulator
  164.         o The transfer shell
  165.  
  166.     - The terminal emulator emulates a 80*25 terminal
  167.     (or optionally the 80*50 mode on Mono systems only).
  168.     It uses the escape codes of the bios built in enhanced
  169.     vt52 emulator. For UN*X users i have included the
  170.     termcap entry that we use.
  171.  
  172.     - The transfer shell lets you send/receive files using
  173.     Xmodem/Xmodem-CRC/Xmodem-1K/Ymodem or Zmodem protocols.
  174.         In addition it provides UN*X csh like command for your
  175.     convenience, and does (TOS style) wild-card handling,
  176.         and (only single) quoting of arguments. Please note that
  177.     this is a convenience feature, and in no way does it
  178.     pretend to be compatible with csh or any other shell.
  179.     See the accompanying file YMODEM.DOC by Chuck Forsberg,
  180.     for details of the above transfer protocols.
  181.  
  182.     This note describes the commands available from the
  183.     "transfer shell". The transfer shell is the built in command line
  184.     interface. In case you are wondering why we choose to
  185.     use a command line interface, the answer is quite simple.
  186.     The functions available have so many options and combinations
  187.     thereof, that it would be totally impractical if not impossible
  188.     to put them in menus/dialogues (each menu will have to be at least
  189.     3 levels deep). Of course it is much easier to type something
  190.     like 'sz -l 128 -L 128 *.c' than answering the at least three
  191.     dialogues required to pick up the same info. You enter the
  192.     transfer shell from the terminal emulator by hitting <HELP